package cn.zymall.common.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

@Data
@EqualsAndHashCode(callSuper = true)
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "coupon")
public class Coupon extends BaseEntity implements Serializable {
    /**
     * 优惠券编号
     */
    @TableId(value = "COUPON_ID", type = IdType.AUTO)
    private Integer couponId;

    /**
     * 优惠劵名称
     */
    @TableField(value = "COUPON_NAME")
    private String couponName;

    /**
     * 优惠劵面额
     */
    @TableField(value = "COUPON_DENOMINATION")
    private String couponDenomination;

    /**
     * 优惠额度
     */
    @TableField(value = "COUPON_QUOTA")
    private Long couponQuota;

    /**
     * 优惠价
     */
    @TableField(value = "COUPON_MONEY")
    private Long couponMoney;

    /**
     * 店铺编号
     */
    @TableField(value = "MERCHANT_ID")
    private Integer merchantId;

    /**
     * 商品编号
     */
    @TableField(value = "SPU_ID")
    private Integer spuId;

    /**
     * 创建时间
     */
    @TableField(value = "CREATETIME")
    private Date createtime;

    /**
     * 开始时间
     */
    @TableField(value = "START_VAILD_TIME")
    private Date startVaildTime;

    /**
     * 结束时间
     */
    @TableField(value = "STOP_VAILD_TIME")
    private Date stopVaildTime;

    /**
     * 优惠劵数量
     */
    @TableField(value = "COUPON_NUM")
    private Integer couponNum;

    /**
     * 状态
     */
    @TableField(value = "COUPON_STATUS")
    private Byte couponStatus;

    /**
     * 创建人
     */
    @TableField(value = "CREATE_BY")
    private Integer createBy;

    /**
     * 更新人
     */
    @TableField(value = "UPDATE_BY")
    private Integer updateBy;

    /**
     * 更新时间
     */
    @TableField(value = "UPDATE_TIME")
    private Date updateTime;//REMAINDER
    /**
     * 优惠卷余数
     */
    @TableField(value = "REMAINDER")
    private Integer remainder;//REMAINDER

    /**
     * 每人限领数
     */
    @TableField(value = "EACH_LIMIT_GET")
    private Integer eachLimitGet; //days

    /**
     * 领卷相对天数
     */
    @TableField(value = "DAYS")
    private Integer days;

    /**
     * 商品限制范围
     */
    @TableField(value = "GOODS_TYPE")
    private Integer goodsType;



    private static final long serialVersionUID = 1L;

    public static final String COL_COUPON_ID = "COUPON_ID";

    public static final String COL_COUPON_NAME = "COUPON_NAME";

    public static final String COL_COUPON_DENOMINATION = "COUPON_DENOMINATION";

    public static final String COL_COUPON_QUOTA = "COUPON_QUOTA";

    public static final String COL_COUPON_MONEY = "COUPON_MONEY";

    public static final String COL_MERCHANT_ID = "MERCHANT_ID";

    public static final String COL_SPU_ID = "SPU_ID";

    public static final String COL_CREATETIME = "CREATETIME";

    public static final String COL_START_VAILD_TIME = "START_VAILD_TIME";

    public static final String COL_STOP_VAILD_TIME = "STOP_VAILD_TIME";

    public static final String COL_COUPON_NUM = "COUPON_NUM";

    public static final String COL_COUPON_STATUS = "COUPON_STATUS";

    public static final String COL_CREATE_BY = "CREATE_BY";

    public static final String COL_UPDATE_BY = "UPDATE_BY";

    public static final String COL_UPDATE_TIME = "UPDATE_TIME";

    public static final String COL_REMAINDER = "REMAINDER";

    public static final String COL_EACH_LIMIT_GET = "EACH_LIMIT_GET";

    public static final String COL_DAYS = "DAYS";

    public static final String COL_GOODS_Type = "GOODS_TYPE";
}
